#include<bits/stdc++.h>
using namespace std;
const int N=100005;
int n,m;
int a1[N],a[N],c[N];
string tr;
int t;
int x[10];
int main(){
 freopen("arena.in","r",stdin);
 freopen("arena.out","w",stdout);
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a1[i];
    }
    for(int i=1;i<=m;i++){
        cin>>c[i];
    }
    int u=log2((n<<1)-1);
    while(u--)cin>>tr;
    cin>>t;
    while(t--){
        for(int i=0;i<=3;i++)cin>>x[i];
        for(int i=1;i<=n;i++)a[i]=x[i%4]^a1[i];
        long long nans=0,mans=0;
        for(int i=1;i<=m;i++){
            long long tans=0;
            int uu=log2((c[i]<<1)-1),opt=0;
            for(int j=1;j<=pow(2,uu);j++){
                if(j>n){tans+=(j+pow(2,uu)*(pow(2,u)-j+1)/2);break;}
                else if(opt==0)
                if(a[j]>=uu){
                        tans+=j;
                        break;
                }
            }
            mans^=i*tans;
        }
        cout<<mans<<endl;
    }
    return 0;
}